#include <kuai/tool/typedef.h>

#ifndef KUAIMISC_ELEMENT_H
#define KUAIMISC_ELEMENT_H

namespace kuai {

	class Element {
	public:
		Index		number;
		String		symbol;
		RealNumber	weight;
		Index		implicitH;
		Index		commonValence;
		Index		maxValence;
		RealNumber	valenceRadii;
		RealNumber	ionPotential;
		RealNumber	elecAffinities;


		static const Element&
			getElement(
				Index i
			);
		static const Element&
			getElement(
				const String& symbol
			);

	private:
		static std::vector<Element> elements;
		static HashMap<String, Index> sym2element;
	};

}


#endif
